Лабораторная работа №1

Работа с git

Махорин И. С.

Российский университет дружбы народов, Москва, Россия

10 февраля 2024

Информация

Докладчик

  • Махорин Иван Сергеевич
  • Студент
  • Обучающийся на кафедре теории вероятностей и кибербезопасности
  • Российский университет дружбы народов
  • ivan.mahorin@yandex.ru
  • https://github.com/Ivan-Mahorin

Вводная часть

Цели и задачи

  • Научиться полному взаимодействию с git и разобрать основные его особенности.

Основная часть

Подготовка

Параметры установки окончаний строк

Подготовка

Установка отображения unicode

Создание проекта

Создание страницы «Hello, World»

Создание проекта

Создание репозитория

Создание проекта

Добавление файла в репозиторий

Создание проекта

Проверка состояние репозитория

Внесение изменений

Изменение содержимого файла hello.html

Внесение изменений

Проверка состояния рабочего каталога

Индексация изменений

Индексация изменений

Индексация изменений

Добавление комментария, сохранение файла и выход из редактора

Индексация изменений

Повторная проверка состояния

Индексация изменений

Изменение страницы «Hello, World»

Индексация изменений

Добавление изменения в индекс git

Индексация изменений

Добавление заголовков HTML к странице «Hello, World»

Индексация изменений

Добавление стандартных тегов страницы

Индексация изменений

История

Индексация изменений

Получение старых версий

Индексация изменений

Создание тегов версий

Индексация изменений

Переключение по имени тега

Индексация изменений

Просмотр тегов с помощью команды tag

Отмена локальных изменений (до индексации)

Переключитесь на ветку master

Отмена локальных изменений (до индексации)

Изменение hello.html

Отмена локальных изменений (до индексации)

Проверка состояния

Отмена локальных изменений (до индексации)

Отмена изменений в рабочем каталоге

Отмена проиндексированных изменений (перед коммитом)

Внесение изменения в файл hello.html

Отмена проиндексированных изменений (перед коммитом)

Индексация изменения

Отмена проиндексированных изменений (перед коммитом)

Проверка состояния

Отмена проиндексированных изменений (перед коммитом)

Выполнение сброса буферной зоны

Отмена проиндексированных изменений (перед коммитом)

Переключение на версию коммита

Отмена коммитов

Изменение файла hello.html

Отмена коммитов

Коммит

Отмена коммитов

Создание коммита с новыми изменениями, отменяющими предыдущие

Отмена коммитов

Проверка лога

Удаление коммиттов из ветки

Проверка нашей истории

Удаление коммиттов из ветки

Отметка этой ветки для начала

Удаление коммиттов из ветки

Сброс коммитов к предшествующим коммиту Oops

Удаление коммиттов из ветки

Просмотр всех коммитов

Удаление тега oops

Удаление тега oops

Внесение изменений в коммиты

Добавление в страницу комментария автора

Внесение изменений в коммиты

Коммит

Внесение изменений в коммиты

Добавление email

Внесение изменений в коммиты

Изменение предыдущего коммита

Внесение изменений в коммиты

Просмотр истории

Перемещение файлов

Перемещение файла hello.html в каталог lib

Перемещение файлов

Коммит в новом каталоге

Подробнее о структуре

Добавление index.html

Git внутри: Каталог .git

Каталог .git

Git внутри: Каталог .git

Просмотр базы данных объектов

Git внутри: Каталог .git

Углубление в базу данных объектов

Git внутри: Каталог .git

Просмотр Config File

Git внутри: Каталог .git

Изучение веток и тегов

Git внутри: Каталог .git

Файл HEAD

Работа непосредственно с объектами git

Поиск последнего коммита

Работа непосредственно с объектами git

Вывод последнего коммита с помощью SHA1 хэша

Работа непосредственно с объектами git

Поиск дерева

Работа непосредственно с объектами git

Вывод каталога lib

Работа непосредственно с объектами git

Вывод файла hello.html

Создание ветки

Создание ветки

Создание ветки

Создание файла css

Создание ветки

Добавление содержимого в файл

Создание ветки

Коммит

Создание ветки

Обновление файла hello.html

Создание ветки

Коммит

Создание ветки

Обновление файла index.html

Создание ветки

Коммит

Навигация по веткам

Навигация по веткам

Навигация по веткам

Переключение на ветку master

Навигация по веткам

Переключение на ветку style

Изменения в ветке master

Создание файла README.md

Сделайте коммит изменений README.md в ветку master

Коммит изменений README.md в ветку master

Сделайте коммит изменений README.md в ветку master

Просмотр текущих веток

Слияние

Слияние веток

Создание конфликта

Возвращение в ветку master

Создание конфликта

Внесение изменений в файл

Создание конфликта

Коммит

Создание конфликта

Просмотр веток

Разрешение конфликтов

Попытка объединения

Разрешение конфликтов

Решение конфликта

Разрешение конфликтов

Коммит решения конфликта

Разрешение конфликтов

Возвращение на ветку style

Сброс ветки style

Сброс ветки style к нужному коммиту

Сброс ветки style

Проверка ветки

Сброс ветки master

Сброс ветки master

Перебазирование

Перебазирование

Слияние в ветку master

Слияние style в master

Слияние в ветку master

Просмотр логов

Клонирование репозиториев

Клонирование репозиториев

Клонирование репозиториев

Создание клона репозитория hello

Просмотр клонированного репозитория

Просмотр клонированного репозитория

Просмотр клонированного репозитория

Просмотр истории репозитория

Что такое origin?

Изучение origin

Удаленные ветки

Просмотр доступных веток в клонированном репозитории

Удаленные ветки

Просмотр всех веток

Изменение оригинального репозитория

Переход в репозиторий hello

Изменение оригинального репозитория

Внесение изменения в файл README.md

Изменение оригинального репозитория

Добавление изменения и создание коммита

Изменение оригинального репозитория

Извлечение изменений

Изменение оригинального репозитория

Проверка README.md

Слияние извлеченных изменений

Слив извлеченных изменений в локальную ветку master

Слияние извлеченных изменений

Объединение fetch и merge в одну команду

Добавление ветки наблюдения

Добавление локальной ветки, которая отслеживает удаленную ветку

Создайте чистый репозиторий

Создание чистого репозитория

Добавление удаленного репозитория

Добавление удаленного репозитория

Отправка изменений

Редактирование файла README.md

Отправка изменений

Коммит и отправка изменений в общий репозиторий

Извлечение общих изменений

Извлечение общих изменений

Выводы

  • В результате выполнения лабораторной работы мы научились полному взаимодействию с git и разобрали основные его особенности.